package com.example.prueba1clinicacliente;

import java.text.ParsePosition;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import android.widget.Button;

/**
 * Esta clase contiene algunas de las validaciones de la aplicacion creada.
 * @author Renew21
 *
 */
public class Validaciones {
	
	private SimpleDateFormat mifecha = new SimpleDateFormat("MM-dd-yyyy");
	private Date desde;
	private Date hasta;
	private String fechaActual = "";
	final Calendar c = Calendar.getInstance(); 
	
	public Validaciones(){
		super();
		
	}
	
	/**
	 * Este metodo valida las fechas 'desde' y 'hasta' para que no existan inconsistencias y para que sirvan de una buena herramienta de busqueda para otros fines.
	 * @param fechaDesde Recibe una fecha en formato String
	 * @param fechaHasta Recibe una fecha en formato String
	 * @return Retorna VERDADERO SI LA RELACION ENTRE AMBAS FECHAS ES CORRECTA.
	 */
	public boolean validarFechaDesdeHasta(String fechaDesde, String fechaHasta){
		
		desde = mifecha.parse(fechaDesde , new ParsePosition(0));
		hasta = mifecha.parse(fechaHasta , new ParsePosition(0));
		
		int mes = c.get(Calendar.MONTH)+1; 
		fechaActual = mes+"-"+c.get(Calendar.DAY_OF_MONTH)+"-"+c.get(Calendar.YEAR);
		Date fActual = mifecha.parse(fechaActual , new ParsePosition(0));
		
		
		if (desde.after(fActual) ) {
			return false;
		}else if(hasta.after(fActual)){
			return false;
		}else if (desde.after(hasta) ) {
			return false;
		}else {
			  return true;
		}
		
	}
	
	/**
	 * Verifica que una fecha en particular se encuentre dentro del rango de otras 2 fechas.
	 * @param fechaPrestacion Reciba la fecha de la prestacion medica.
	 * @param fdesde Recibe una fecha que servira como un rango.
	 * @param fhasta Recibe una fecha limite que servira de rango.
	 * @return Retorna verdadero si la fecha cumple con estar dentro del rango de fechas requerido.
	 */
	public boolean filtroFecha(String fechaPrestacion, String fdesde, String fhasta){
		
		
		Date fecha = new Date();
		
		fecha = mifecha.parse(fechaPrestacion , new ParsePosition(0));
		this.desde = mifecha.parse(fdesde , new ParsePosition(0));
		this.hasta = mifecha.parse(fhasta , new ParsePosition(0));
		
		if (fecha.after(this.desde) && fecha.before(this.hasta) ) {
			return true;
		}else{
			return false;
		}
		 
		
	}
	
}
